
/* 
使用dll技术对某写第三方库（react、vue、jquery）进行单独打包
  当运行webpack时，默认查找webpack.config.js配置文件
  需求：需要运行webpack.dll.js文件
  解决办法：执行 webapck --config webpack.dll.js
*/

const { resolve } = require('path')
const webpack = require('webpack')

module.exports = {
  entry: {
    // 最终打包生成的[name] --> jquery
    // ['jquery'] --> 要打包的库是juqery
    jquery: ['jquery']
  },
  output: {
    filename: '[name].js', // 打包之后的名字 [name]意思是打包前于打包后的名字相同
    path: resolve(__dirname, 'dll'),
    library: '[name]_[hash]' //打包的库里面向外暴露出去的名字
  },
  plugins: [
    // 打包生成一个manifest.json文件，提供和jquery映射关系
    new webpack.DllPlugin({
      name: '[name]_[hash]', //映射库的暴露的内容名称
      path: resolve(__dirname, 'dll/manifest.json')  //输出文件路径
    })
  ],
  mode: 'production'
}